package cn.org.eshow.service;

import cn.org.eshow.bean.query.CartQuery;
import cn.org.eshow.common.page.Page;
import cn.org.eshow.model.Cart;
import cn.org.eshow.model.ProductItem;
import cn.org.eshow.model.User;

import javax.jws.WebService;
import java.util.List;

@WebService
public interface CartManager extends GenericManager<Cart, Integer> {

    List<Cart> list(CartQuery query);

    Page<Cart> search(CartQuery query);

    Cart check(CartQuery query);

    int count(CartQuery query);

    /**
     * 添加到购物车
     * @param category user/shop
     * @param productItem
     * @param user
     * @return
     */
    Cart save(String category, ProductItem productItem,Integer productSize, User user);

    /**
     * 更新单个购物车
     * @return
     */
    Cart update(Cart cart, Integer qunantity);

    /**
     * 清空用户的购物车
     *
     * @param user
     */
    void clear(User user);

    /**
     * 删除购物车记录
     *
     * @param carts
     */
    void remove(List<Cart> carts);


}